Es una característica de un
sistema operativo moderno. Permite que varios
procesos sean ejecutados al mismo tiempo compartiendo uno o más procesadores.
Tipos de
multitarea:
●
Nula: El sistema operativo carece de
multitarea. Aún así puede lograrse a veces algo parecido a una
multitarea implementándola en espacio de usuario, o usando trucos como los
TSR de
MS-DOS. Un ejemplo típico de sistema sin
multitarea es
MS-DOS y sus clones.
●
Cooperativa: Los procesos de usuario son quienes ceden la
CPU al sistema operativo a intervalos regulares. Muy problemática, puesto que si el proceso de usuario se cuelga y no cede la CPU al sistema operativo, todo el sistema estará entonces colgado. Da lugar también a latencias muy irregulares, y la imposibilidad de tener en cuenta este esquema en sistemas operativos de tiempo real. Un ejemplo sería
Windows hasta la versión 95.
●
Preferente: El
sistema operativo es el encargado de administrar el/los procesador/es, repartiendo el tiempo de uso de este entre los procesos que estén esperando para utilizarlo. Cada proceso utiliza el procesador durante cortos períodos de tiempo, pero el resultado final es prácticamente igual que si estuviesen ejecutándose al mismo tiempo. Ejemplos de sistemas de este tipo serían
Unix y sus clones (
FreeBSD,
Linux...),
VMS y derivados,
AmigaOS,
Windows NT...
●
Real: Sólo se da en sistemas multiprocesador. Es aquella en la que varios procesos se ejecutan realmente al mismo tiempo, en distintos microprocesadores. Suele ser también preferente. Ejemplos de sistemas operativos con esa capacidad: variantes
Unix,
Linux,
Windows NT, etc.